package org.example.user.service;


import com.mybatisflex.core.paginate.Page;
import org.example.user.dto.*;
import org.example.user.entity.SysUserEntity;
import com.mybatisflex.core.service.IService;
import org.example.user.vo.*;

/**
 * 用户表 服务层。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
public interface ISysUserService extends IService<SysUserEntity> {

    public int createUser(CreateUserDTO createUserDTO);
    public int updateUser(UpdateDTO updateDTO);
    public LoginVO login(LoginDTO loginDTO);
    public int deleteUser(Long userId);
    public Page<SysUserVO> pageList(UserQueryDTO userQueryDTO);
    public UserInfoVO getUserAuthInfo();
    public UserDetailVO getUserInfo(Long userId);
    public int resetPwd(Long userId, String password);
    public ProfileVO getUserProfile();
    public int updateUserProfile(String name, String email);
    public int updatePassword(String oldPassword, String newPassword);
    public int updatePhone(String phone, String code);
    public int logout();
    public String refreshToken(String refreshToken);
    public int changeLoginPassword(String oldPassword, String newPassword);
    public LoginVO smsLogin(String mobile, String smsCode);
    public UserVO getUserVO();

    }